package com.librelato.persistencia.interfaces;

import java.util.List;
import java.util.Map;
import java.util.SortedMap;

import com.librelato.bean.ProdutoBean;
import com.librelato.bean.SolicitacaoBean;

public interface IProdutoDao<P extends ProdutoBean> extends IDaoGenerico<P> {

	List<P> buscaProdutos(P p) throws Exception;

	ProdutoBean verificaProduto(String cod, String filial) throws Exception;

	boolean verificaLocal(String filial, String cod) throws Exception;

	boolean verificaOrdemProducao(String filial, String cod) throws Exception;

	public SortedMap<String, String> buscaEstoqueProduto(SolicitacaoBean solicitacao)
			throws Exception;
	
	public List<ProdutoBean> buscaAnaliseProdutoHistoricoPedido(
			final ProdutoBean produto) throws Exception;
	
	public Map<Integer, Double> buscaConsumoProduto(ProdutoBean produto,
			List<Integer> meses, List<Integer> anos) throws Exception;
	
	public List<P> buscaProdutos(Map<String,String> param) throws Exception;
	
	public List<P> buscaProdutosPedido(Map<String,String> param) throws Exception;
}
